# Neopassmenu
## Dmenu front end for Pass with support for OTP, navigation, line selection in multiline files

## Install

### Arch

- [AUR package (stable)](https://aur.archlinux.org/packages/neopassmenu)

## FAQ
### Why another passmenu?

Passmenu and Passmenu2 are great programs, but supposed you want to keep the credentials for multiple accounts of the same service in one single file, or you use burner emails a lot and you want to put the email and the relative password in the same place, then Passmenu and Passmenu2 won't do you much good. Neopassmenu has been made to cover exactly that use case: if the `-m` option is given, it will spawn an additional dmenu to allow you to select exactly which line you want to copy to the clipboard or send to stdout (by default it censors all the content of the displayed lines).

Also, both Passmenu and Passmenu2 are written in Bash instead of POSIX shell, which makes them not compatible with out of the box BSDs (not that it matters too much, given that Pass itself is written in Bash).

### Which menus are supported?

Theoretically, ***all of them***: neopassmenu will run whatever is in the `DMENU_COMMAND` environment variable, including all the arguments. If `DMENU_COMMAND` is unset it will try to default to `dmenu`, `rofi -dmenu`, and `bemenu` in an X session or `dmenu-wl`, `bemenu`, `tofi`, and `yofi` in a Wayland session, if none are found it will exit unsuccessfully.

### How do I pass dmenu args to it?

By setting the `DMENU_COMMAND` environment variable you override the autoselector and you can put the args directly inside the `DMENU_COMMAND` variable. For example, by setting `DMENU_COMMAND` to `dmenu -l 5` it will invoke dmenu with 5 lines.
